package com.ttj.service;

import java.util.List;
import java.util.Map;

import com.ttj.domain.oracle.OrderRec;
import com.ttj.vo.BaseRes;
import com.ttj.vo.OrderRecVo;

public interface OrderRecService {

	/**
	 * 首页数据
	 * @param username
	 * @return
	 */
	BaseRes<OrderRecVo> index(String username);

	/**
	 * 未查看数量
	 * @return
	 */
	int unCheck(String rperson);

	/**
	 * 已回复
	 * @return
	 */
	int replyed(String rperson);

	/**
	 * 回收订单列表
	 * @param map
	 * @return
	 */
	BaseRes<List<OrderRec>> orderRecList(String username, Integer oStatus);

	/**
	 * 当月已完成回收订单
	 * @return
	 */
	BaseRes<List<OrderRec>> orderRecListCompleted(String rperson);

	/**
	 * 订单详情
	 * @param orderId 订单号
	 * @return
	 */
	BaseRes<List<OrderRecVo>> getOrderRecDetail(Long orderId);

	/**
	 * 订单详细物品清单
	 * @param orderId 订单号
	 * @return
	 */
	BaseRes<List<OrderRecVo>> getOrderRecDetailList(Long orderId);

	/**
	 * 回复
	 * @param condition 订单号|回复时间
	 * @return
	 */
	int reply(Long orderId, String replyTime);

	/**
	 * 呼叫次数
	 * @param rperson
	 * @return
	 */
	int callCount(Map<String, Object> map);

	/**
	 * 回收次数
	 * @param rperson
	 * @return
	 */
	int recycleCount(Map<String, Object> map);

	/**
	 * 绿色存款
	 * @param rperson
	 * @return
	 */
	double deposit(Map<String, Object> map);

	/**
	 * 现金
	 * @param rperson
	 * @return
	 */
	double cash(Map<String, Object> map);

	/**
	 * 回收量(公斤)
	 * @param rperson
	 * @return
	 */
	double recycleNum1(Map<String, Object> map);

	/**
	 * 回收量(个)
	 * @param rperson
	 * @return
	 */
	int recycleNum2(Map<String, Object> map);

	/**
	 * 撤销次数
	 * @param rperson
	 * @return
	 */
	int repeal(Map<String, Object> map);

	/**
	 * 工作日志
	 * @return
	 */
	BaseRes<Map<String, Object>> dailylog(String username, String begintime,
			String endtime);

	/**
	 * 新注册数
	 * @param map
	 * @return
	 */
	int newUsers(Map<String, Object> map);

	/**
	 * 好评数
	 * @param map
	 * @return
	 */
	int goodEvaluateNum(Map<String, Object> map);

	/**
	 * 差评数
	 * @param map
	 * @return
	 */
	int badEvaluateNum(Map<String, Object> map);
	
	/**
	 * 创建个人回收订单
	 * @param json
	 * @param strings
	 * @return
	 */
	Map<String,Object> createRec(OrderRecVo recList);
	
	/**
	 * 处理app回收订单
	 * @param json
	 * @param strings
	 * @return
	 */
	Map<String,Object> updateRec(OrderRecVo recList);

}
